import { LOADING_STATUS } from '@/enum/loadingStatus';

interface ITab {
	id ?: number,
	name : string,
	created_at ?: string,
	goodsList : IGoodsList,
}

interface ITabsList {
	pageNum : number,
	pageSize : number,
	loadStatus : LOADING_STATUS,
	list : ITab[],
}

interface IGoodsList {
	pageNum : number,
	pageSize : number,
	loadStatus : LOADING_STATUS,
	list : IGoods[],
	keywords?:string,
}



interface ITabsRequestResult {
	data : ITab[],
	total : number,
}

interface IGoodsListRequestResult {
	data : IGoods[],
	total : number,
}

interface IGoodsListRequestOptions {
	customer_id : number,
	page_num : number,
	page : number,
	type_id : number | undefined,
	product_name : string,
}

interface ITabsRequestOptions {
	customer_id : number,
	page_num : number,
	page : number,
}

interface IChangeEvent {
	label : string,
	value : number,
	name : string,
}

	interface IGoodsListExpose{
		getGoodsListBySearchKeywords:()=>Promise<void>,
		change:(e?:IChangeEvent)=>void,
	}

export type {
	ITab,
	ITabsList,
	ITabsRequestResult,
	IGoodsListRequestOptions,
	IGoodsList,
	IChangeEvent,
	IGoodsListRequestResult,
	ITabsRequestOptions,
	IGoodsListExpose
}